<?php

namespace App\Enums;

/**
 * 调拨单类型
 */
enum TransferOrderType: int
{

    case TRANSFER           = 1; // 直接调拨
    case ASYNC_TRANSFER     = 2; // 分步式调拨

    /**
     * name
     *
     * @return string
     */
    public function label(): string
    {
        return match ($this) {
            self::TRANSFER  => "直接调拨",
            self::ASYNC_TRANSFER     => "分步式调拨",
        };
    }

    /**
     * 根据值获取名称
     * @param $val
     * @return string
     */
    static function labelBy($val){
        $obj = self::tryFrom((int)$val);
        return $obj ? $obj->label() : '';
    }
}
